Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


Framing.h c467b820144d2cfbeb82e1bacf8ad1468234d1fa (c467b820) Text, 3.65 KB

T8b949e// Copyright (C) 2024, Mark Qvist

T8b949e// This program is free software: you can redistribute it and/or modify
T8b949e// it under the terms of the GNU General Public License as published by
T8b949e// the Free Software Foundation, either version 3 of the License, or
T8b949e// (at your option) any later version.

T8b949e// This program is distributed in the hope that it will be useful,
T8b949e// but WITHOUT ANY WARRANTY; without even the implied warranty of
T8b949e// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
T8b949e// GNU General Public License for more details.

T8b949e// You should have received a copy of the GNU General Public License
T8b949e// along with this program. If not, see <https://www.gnu.org/licenses/>.

Tff7b72#Tff7b72ifndef FRAMING_H
Tff7b72#Tff7b72define FRAMING_H

Tff7b72#Tff7b72define FEND 0xC0
Tff7b72#Tff7b72define FESC 0xDB
Tff7b72#Tff7b72define TFEND 0xDC
Tff7b72#Tff7b72define TFESC 0xDD

Tff7b72#Tff7b72define CMD_UNKNOWN 0xFE
Tff7b72#Tff7b72define CMD_DATA 0x00
Tff7b72#Tff7b72define CMD_FREQUENCY 0x01
Tff7b72#Tff7b72define CMD_BANDWIDTH 0x02
Tff7b72#Tff7b72define CMD_TXPOWER 0x03
Tff7b72#Tff7b72define CMD_SF 0x04
Tff7b72#Tff7b72define CMD_CR 0x05
Tff7b72#Tff7b72define CMD_RADIO_STATE 0x06
Tff7b72#Tff7b72define CMD_RADIO_LOCK 0x07
Tff7b72#Tff7b72define CMD_DETECT 0x08
Tff7b72#Tff7b72define CMD_IMPLICIT 0x09
Tff7b72#Tff7b72define CMD_LEAVE 0x0A
Tff7b72#Tff7b72define CMD_ST_ALOCK 0x0B
Tff7b72#Tff7b72define CMD_LT_ALOCK 0x0C
Tff7b72#Tff7b72define CMD_PROMISC 0x0E
Tff7b72#Tff7b72define CMD_READY 0x0F

Tff7b72#Tff7b72define CMD_STAT_RX 0x21
Tff7b72#Tff7b72define CMD_STAT_TX 0x22
Tff7b72#Tff7b72define CMD_STAT_RSSI 0x23
Tff7b72#Tff7b72define CMD_STAT_SNR 0x24
Tff7b72#Tff7b72define CMD_STAT_CHTM 0x25
Tff7b72#Tff7b72define CMD_STAT_PHYPRM 0x26
Tff7b72#Tff7b72define CMD_STAT_BAT 0x27
Tff7b72#Tff7b72define CMD_STAT_CSMA 0x28
Tff7b72#Tff7b72define CMD_STAT_TEMP 0x29
Tff7b72#Tff7b72define CMD_BLINK 0x30
Tff7b72#Tff7b72define CMD_RANDOM 0x40

Tff7b72#Tff7b72define CMD_FB_EXT 0x41
Tff7b72#Tff7b72define CMD_FB_READ 0x42
Tff7b72#Tff7b72define CMD_FB_WRITE 0x43
Tff7b72#Tff7b72define CMD_FB_READL 0x44
Tff7b72#Tff7b72define CMD_DISP_READ 0x66
Tff7b72#Tff7b72define CMD_DISP_INT 0x45
Tff7b72#Tff7b72define CMD_DISP_ADDR 0x63
Tff7b72#Tff7b72define CMD_DISP_BLNK 0x64
Tff7b72#Tff7b72define CMD_DISP_ROT 0x67
Tff7b72#Tff7b72define CMD_DISP_RCND 0x68
Tff7b72#Tff7b72define CMD_NP_INT 0x65
Tff7b72#Tff7b72define CMD_BT_CTRL 0x46
Tff7b72#Tff7b72define CMD_BT_UNPAIR 0x70
Tff7b72#Tff7b72define CMD_BT_PIN 0x62
Tff7b72#Tff7b72define CMD_DIS_IA 0x69
Tff7b72#Tff7b72define CMD_WIFI_MODE 0x6A
Tff7b72#Tff7b72define CMD_WIFI_SSID 0x6B
Tff7b72#Tff7b72define CMD_WIFI_PSK 0x6C
Tff7b72#Tff7b72define CMD_WIFI_CHN 0x6E
Tff7b72#Tff7b72define CMD_WIFI_IP 0x84
Tff7b72#Tff7b72define CMD_WIFI_NM 0x85

Tff7b72#Tff7b72define CMD_BOARD 0x47
Tff7b72#Tff7b72define CMD_PLATFORM 0x48
Tff7b72#Tff7b72define CMD_MCU 0x49
Tff7b72#Tff7b72define CMD_FW_VERSION 0x50
Tff7b72#Tff7b72define CMD_CFG_READ 0x6D
Tff7b72#Tff7b72define CMD_ROM_READ 0x51
Tff7b72#Tff7b72define CMD_ROM_WRITE 0x52
Tff7b72#Tff7b72define CMD_CONF_SAVE 0x53
Tff7b72#Tff7b72define CMD_CONF_DELETE 0x54
Tff7b72#Tff7b72define CMD_DEV_HASH 0x56
Tff7b72#Tff7b72define CMD_DEV_SIG 0x57
Tff7b72#Tff7b72define CMD_FW_HASH 0x58
Tff7b72#Tff7b72define CMD_HASHES 0x60
Tff7b72#Tff7b72define CMD_FW_UPD 0x61
Tff7b72#Tff7b72define CMD_UNLOCK_ROM 0x59
Tff7b72#Tff7b72define ROM_UNLOCK_BYTE 0xF8
Tff7b72#Tff7b72define CMD_RESET 0x55
Tff7b72#Tff7b72define CMD_RESET_BYTE 0xF8

Tff7b72#Tff7b72define CMD_LOG 0x80
Tff7b72#Tff7b72define CMD_TIME 0x81
Tff7b72#Tff7b72define CMD_MUX_CHAIN 0x82
Tff7b72#Tff7b72define CMD_MUX_DSCVR 0x83

Tff7b72#Tff7b72define DETECT_REQ 0x73
Tff7b72#Tff7b72define DETECT_RESP 0x46

Tff7b72#Tff7b72define RADIO_STATE_OFF 0x00
Tff7b72#Tff7b72define RADIO_STATE_ON 0x01

Tff7b72#Tff7b72define NIBBLE_SEQ 0xF0
Tff7b72#Tff7b72define NIBBLE_FLAGS 0x0F
Tff7b72#Tff7b72define FLAG_SPLIT 0x01
Tff7b72#Tff7b72define SEQ_UNSET 0xFF

Tff7b72#Tff7b72define CMD_ERROR 0x90
Tff7b72#Tff7b72define ERROR_INITRADIO 0x01
Tff7b72#Tff7b72define ERROR_TXFAILED 0x02
Tff7b72#Tff7b72define ERROR_EEPROM_LOCKED 0x03
Tff7b72#Tff7b72define ERROR_QUEUE_FULL 0x04
Tff7b72#Tff7b72define ERROR_MEMORY_LOW 0x05
Tff7b72#Tff7b72define ERROR_MODEM_TIMEOUT 0x06

T8b949e// Serial framing variables
Tffa657size_t Te6edf3frame_lenTb4b4b4;
Tffa657bool Te6edf3IN_FRAME Tff7b72= Tffa657falseTb4b4b4;
Tffa657bool Te6edf3ESCAPE Tff7b72= Tffa657falseTb4b4b4;
Tffa657uint8_t Te6edf3command Tff7b72= Te6edf3CMD_UNKNOWNTb4b4b4;

Tff7b72#Tff7b72endif


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────